import {createRouter,createWebHistory,createWebHashHistory} from 'vue-router'
const Home = ()=>import('../views/Home')
const About = ()=>import('../views/About')
const User = ()=>import('../views/User')
const Order = ()=>import('../views/Order')
const Setting = ()=>import('../views/Setting')
const Page = ()=>import('../views/Page')
const Article = ()=>import('../views/Article')


const routes=[
  {
    path:'/',
    name:'HomeRoot',
    component:Home,
    //设置页面meta信息
    meta:{
      title:'首页',
      keywords:'首页关键词',
      description:'首页描述'
    }
  },
    //重定向一 redirect指向要重定向的path路径
  // {
  //   path:'/home',
  //   redirect:'/',
  //   component:Home
  // },
  //重定向二  redirect指向要重定向的name
  {
    path:'/home',
    redirect: {name:'HomeRoot'},
    component:Home
  },
  {
    path: '/about',
    name: 'About',
    //别名一  单个
    alias:'/a',
    component: About,
    //设置页面meta信息  如果页面单独设置了 document.title='这是about标题'》这里的设置
    meta:{
      title:'About',
      keywords:'About关键词',
      description:'About描述'
    }
  },
  {
    path: '/user',
    name: 'User',
    component: User,
    meta:{
      title:'User',
      keywords:'User关键词',
      description:'User描述'
    },
    //镶嵌子组件
    children:[
        //点击个人中心默认页面
      {
        path:'',
        component:Setting
      },
      {
        path: 'order',
        component:Order
      },
      {
        path: 'setting',
        component:Setting
      },
        //动态路由写法
      {
        path: 'page/:id',
        //别名二  多个而且带参数 别名必须全局唯一 不能重复
        alias:['p/:id','x/:id'],
        // 重定向三 ：page重定向article  动态路由重定向query写法
        // redirect:to=>{
        //   return{
        //     path:'article',
        //     query:{name:'lisi',age:to.params.id}
        //   }
        // },
        component:Page
      },


      {
        path: 'article',
        component:Article
      }
    ]
  }
]

const router = createRouter({
  history:createWebHistory(process.env.BASE_URL),
  // history:createWebHashHistory(process.env.BASE_URL),
  routes
});
//全局前置守卫
router.beforeEach((to,from)=>{
  document.title = to.meta.title;
  //修改了关键词和描述 也修改了index.html 但是只有title生效了
  document.keywords = to.meta.keywords;
  document.description = to.meta.description;
});
//全局后置钩子
router.afterEach((to,from)=>{
  // console.log("to---"+to.fullPath);
  // console.log("from---"+from.fullPath);
})
export default router